package br.facet.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Proxy;

@Entity
@Proxy(lazy=false)
@Table (name = "TBL_RESERVA")
@SequenceGenerator(name = "seq_reserva", sequenceName = "seq_reserva", allocationSize = 1)

public class Reserva {
	
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_reserva")
	@Column	
	private Integer id;
	
	@Column
	private Integer quantidade;
	
	@ManyToOne( fetch = FetchType.EAGER)
	@JoinColumn(name = "id_LojaOrigem", insertable = true)
	private Loja lojaOrigem;
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "id_LojaDestino", insertable = true)	
	private Loja lojaDestino;
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "id_produto", insertable = true)	
	private Produto produto;

	public Produto getProduto() {
		return produto;
	}

	public void setProduto(Produto produto) {
		this.produto = produto;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Loja getLojaOrigem() {
		return lojaOrigem;
	}

	public void setLojaOrigem(Loja lojaOrigem) {
		this.lojaOrigem = lojaOrigem;
	}

	public Loja getLojaDestino() {
		return lojaDestino;
	}

	public void setLojaDestino(Loja lojaDestino) {
		this.lojaDestino = lojaDestino;
	}

	public Integer getQuantidade() {
		return quantidade;
	}

	public void setQuantidade(Integer quantidade) {
		this.quantidade = quantidade;
	}	
}
